perm filename PIGOTT.1[LET,JMC] blob sn#876000 filedate 1989-08-09 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\input jmclet[let,jmc]
C00012 ENDMK
CāŠ—;
\input jmclet[let,jmc]
\jmclet
\address
Mr. Charles M. Pigott
Business Center Building
Box 1518
Bellevue, Washington 98009
\body
Dear Mr. Pigott:

	Here's what I have been doing in connection with the Pigott
Professorship and what's come of it.

	I work in a variety of fields, basic artificial intelligence,
time-sharing computer systems, proving that computer programs
meet their specifications and symbolic computation.  The balance
among these activities depends on ideas that occur to me about
how to advance these areas.

	The basic work in artificial intelligence involves identifying
the elements of common sense knowledge and reasoning and using
mathematical logic to express it.  One can approach this through
studying human behavior or even human neurophysiology or by studying
the common sense world.  Most AI research, mine included, takes the
latter appproach.  The question is what information is available
about the world and how can it be used to achieve goals.  This has
turned out to be a difficult and rather slippery subject, but progress
has been made since systematic study began in the late 1950s.

	My recent work has been to elaborate two ideas.  The first
has been analyzing the notion of context.  Of course, it is a truism
that the meaning of statements depends on context, but most researchers
leave that rather vague.  For artificial intelligence it is important
to be more precise.  Therefore, I have been considering contexts
as abstract mathematical objects and developing a theory of the
relations between more general and more specific contexts.

	For example, this letter up to this point has established
a context in which the sentence, ``So far I haven't attracted
many other people to work on this subject'' has a meaning, but
in a more general context, it would have to be replaced by
``John McCarthy, Charles M. Pigott Professor at Stanford in 1989
hadn't succeeded in attracting more logicians and computer
scientists to work on the theory of formalizing contexts''.
Even that isn't meaningful in a context in which Stanford
has to be defined.  There has been some idea that it would be
possible for computer use to spell out everything.  That looks
impossibly tedious, and anyway people are always coming up
with more general points of view that violate some of the
assumptions of previous contexts.  Therefore, it seems that
the right approach for artificial intelligence is to express
facts about the world in named contexts and include facilities
for expanding contexts later.

	If I had time, I could make this clearer by expanding
the ideas at greater length and giving examples.  However, the
ideas are changing so rapidly that this hardly seems worth doing
until they settle down a bit.

	Another idea, although newer, seems to be attracting
greater interest, because it is more relevant to problems on
which other computer scientists work.  This is a programming
language whose inputs and outputs intrinsically have meanings
analogous to statements people make.  Of course, the inputs
and outputs of programs often have meanings now, but these
meanings are solely in the minds of the programmers.  In
the new language, called Elephant 2000, certain inputs and
outputs are regarded as questions, answers, requests and
commitments (promises).  This gives rise to new notions of
program correctness.  We can ask whether a program answers
questions truthfully, whether it accedes to requests and
whether it keeps its commitments.

	The advantage of all this is that programs will be
easier to write, to understand, to prove correct and to debug.
The name Elephant comes from two slogans
\medskip
\rightline{\vbox{\it
  \hbox{I meant what I said, and I said what I meant.}
  \hbox{An elephant's faithful, one hundred percent!}
  \smallskip
  \hbox{\rm moreover,}
  \smallskip
  \hbox{An elephant never forgets!}}}
\medskip

	The 2000 comes from the fact that programming languages
are often named in terms of the year of their scheduled appearance,
and these dates are often not met.  The ideas of Elephant are
still in a preliminary state, so indicating the year 2000 is
not out of place.  What actually triggered the name, however, was
hearing a lecture entitled ``Programming languages of the year 2000''.
My reaction was that the lecturer was insufficiently ambitious.

	Thanks for your letter about my election to the National
Academy of Sciences.  The election is based on work done long ago,
I think, but it represents the first time the Applied Mathematics
section of the National Academy has recognized work in the
application of mathematical logic to computer science as a basis
for election to the Academy.  It is, therefore, an important
expansion of the point of view of the ``establishment'' in applied
mathematics.

	The Kyoto Prize of 1988 also represents the first time
work in artificial intelligence was recognized on that level.
Herbert Simon of Carnegie-Mellon University, who also works in
articifial intelligence received the Nobel Prize in economics,
but that was for his work in economics rather than his work
in artificial intelligence.

	I'm sending you two articles.  The one on artificial intelligence
is intended for a general scholarly audience, and the editor
wouldn't let me include even one mathematical formula.  The
other is about the Soviet Union.  When it was written, it predicted
events that many people (both here and in the Soviet Union) thought
impossible.  By the time it was published, people said, ``well maybe''.
Now it has been overtaken by events.  I wouldn't dare write such
an article today, because now so much information is becoming
available, that it would be a full time activity to keep up
with events.

	The Pigott Professorship is important in giving me greater
freedom to pursue artificial intelligence research wherever it leads.

\closing
Sincerely,
John McCarthy
\endletter
\end